草庐IT

C++ 类 class

全部标签

c++ - C 与 C++ 中的结构标记

我编写了以下简单程序并在gcc编译器上编译了它#includetypedefinti;voidfoo(){structi{ii;}i;i.i=3;printf("%i\n",i.i);}intmain(){foo();}它在C中编译和运行良好。(参见现场演示here)但在C++中编译失败。C++编译器给出以下错误信息。prog.cc:Infunction'voidfoo()':prog.cc:5:17:error:field'i'hasincompletetype'foo()::i'structi{ii;}i;^prog.cc:5:12:note:definitionof'struct

c++ - C 与 C++ 中的结构标记

我编写了以下简单程序并在gcc编译器上编译了它#includetypedefinti;voidfoo(){structi{ii;}i;i.i=3;printf("%i\n",i.i);}intmain(){foo();}它在C中编译和运行良好。(参见现场演示here)但在C++中编译失败。C++编译器给出以下错误信息。prog.cc:Infunction'voidfoo()':prog.cc:5:17:error:field'i'hasincompletetype'foo()::i'structi{ii;}i;^prog.cc:5:12:note:definitionof'struct

c++ - if-else 语句中的 "equal to"与 "not equal to"运算符

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭6年前。Improvethisquestion在C中编写if-else语句时,如果两者都可以产生相同的结果,是否有理由优先使用运算符“等于”而不是“不等于”?下面的代码提供了上下文。因此,如果参数计数等于2,则将从用户那里检索一个字符串。但是,如果获取任何其他参数值,则会出现错误消息。intmain(intargc,stringargv[]){stringmsg;if(argc==2){msg=GetString();}else{pr

c++ - if-else 语句中的 "equal to"与 "not equal to"运算符

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭6年前。Improvethisquestion在C中编写if-else语句时,如果两者都可以产生相同的结果,是否有理由优先使用运算符“等于”而不是“不等于”?下面的代码提供了上下文。因此,如果参数计数等于2,则将从用户那里检索一个字符串。但是,如果获取任何其他参数值,则会出现错误消息。intmain(intargc,stringargv[]){stringmsg;if(argc==2){msg=GetString();}else{pr

c++ - 从头开始编程

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我想知道的是在没有任何操作系统和类似的东西的情况下从头开始编程。我知道Windows和Mac以及几乎任何东西,甚至DOS都是用C、C++Pascal等编写的,所以我想我应该知道其中一种语言,但为此我需要一个可以编写代码的程序,并且还要编译它但没有操作系统和程序怎么能做到这一点?他们是怎么做到的?但这还远远不够,C是怎么写的?在什么?所以当我指的是从头开始时,我的意思是,从基础开始构建一切。也许从0,1,

c++ - 从头开始编程

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我想知道的是在没有任何操作系统和类似的东西的情况下从头开始编程。我知道Windows和Mac以及几乎任何东西,甚至DOS都是用C、C++Pascal等编写的,所以我想我应该知道其中一种语言,但为此我需要一个可以编写代码的程序,并且还要编译它但没有操作系统和程序怎么能做到这一点?他们是怎么做到的?但这还远远不够,C是怎么写的?在什么?所以当我指的是从头开始时,我的意思是,从基础开始构建一切。也许从0,1,

c++ - 已经了解 C++ 的情况下学习 C?

我认为我对C++有一定的了解,我想学习C。有很多资源可以帮助人们从C转到C++,但我没有发现任何有用的相反的东西。具体来说:是否有每个C程序员都应该知道的广泛使用的通用库(例如C++的boost)?什么是最重要的C习惯用法(例如C++的RAII)?我应该学习C99并使用它,还是坚持C89?C++开发人员有什么陷阱/陷阱吗?还有什么有用的吗? 最佳答案 这里已经有很多了,所以也许这只是一个小补充,但这是我发现最大的不同之处。图书馆:我把它放在第一位,因为在我看来这是实践中最大的不同。C标准库非常(!)稀疏。它提供最低限度的服务。对于其

c++ - 已经了解 C++ 的情况下学习 C?

我认为我对C++有一定的了解,我想学习C。有很多资源可以帮助人们从C转到C++,但我没有发现任何有用的相反的东西。具体来说:是否有每个C程序员都应该知道的广泛使用的通用库(例如C++的boost)?什么是最重要的C习惯用法(例如C++的RAII)?我应该学习C99并使用它,还是坚持C89?C++开发人员有什么陷阱/陷阱吗?还有什么有用的吗? 最佳答案 这里已经有很多了,所以也许这只是一个小补充,但这是我发现最大的不同之处。图书馆:我把它放在第一位,因为在我看来这是实践中最大的不同。C标准库非常(!)稀疏。它提供最低限度的服务。对于其

c++ - 错误 C2228 : left of '.size' must have class/struct/union

我在调用vector的size()时遇到此编译器错误。为什么?#include#include#include#include#include#includeusingnamespacestd;classVertex{floatfirstValue;floatsecondValue;floatthirdValue;Vertex(floatfirst,floatsecond,floatthird){firstValue=first;secondValue=second;thirdValue=third;}};intmain(){cout>actualLine;istringstreama

c++ - 错误 C2228 : left of '.size' must have class/struct/union

我在调用vector的size()时遇到此编译器错误。为什么?#include#include#include#include#include#includeusingnamespacestd;classVertex{floatfirstValue;floatsecondValue;floatthirdValue;Vertex(floatfirst,floatsecond,floatthird){firstValue=first;secondValue=second;thirdValue=third;}};intmain(){cout>actualLine;istringstreama